From: Florian Müllner Date: Sun, 18 Oct 2020 14:01:05 +0000 (+0200) Subject: screenshot: Handle window screenshot failures gracefully X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~784 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d72da7d2465628150d83a9a152df2525691de1b0;p=gnome-shell.git screenshot: Handle window screenshot failures gracefully meta_window_actor_get_image() may return NULL. Instead of crashing, catch that case and return a proper error. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3258 --- diff --git a/src/shell-screenshot.c b/src/shell-screenshot.c index ff81ce338..1b73766e0 100644 --- a/src/shell-screenshot.c +++ b/src/shell-screenshot.c @@ -295,6 +295,15 @@ grab_window_screenshot (ShellScreenshot *screenshot, priv->image = meta_window_actor_get_image (META_WINDOW_ACTOR (window_actor), NULL); + + if (!priv->image) + { + g_task_report_new_error (screenshot, on_screenshot_written, result, NULL, + G_IO_ERROR, G_IO_ERROR_FAILED, + "Capturing window failed"); + return; + } + priv->datetime = g_date_time_new_now_local (); if (flags & SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR)